<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title>数组合并</title>
	</head>
	<body>
		<h4>题目描述</h4>
		<p>合并数组 arr1 和数组 arr2。不要直接修改数组 arr，结果返回新的数组</p>
		<span>concat([1, 2, 3, 4], ['a', 'b', 'c', 1])</span>
		<script type="text/javascript">
			//concat方法
			function concat(arr1, arr2) {
				return arr1.concat(arr2)
			}
			//普通迭代拷贝
			function concat(arr1,arr2){
				var arr3 = [];
				for(var i=0;i<arr1.length;i++){
					arr3.push(arr1[i]);
				}
				for(var j=0;j<arr2.length;j++){
					arr3.push(arr2[i])
				}
				return arr3;
			}
			//slice+push
			function concat(arr1,arr2){
				var arr3 = arr1.slice(0);
				for(var i=0;i<arr2.length;i++){
					arr3.push(arr2[i]);
				}
					return arr3;
			}
			//slice+push.apply  容易遇到坑，数组长度有限制,会有浏览器临界点问题
			//分享案例： http://www.cnblogs.com/xhload3d/p/3777231.html
			function concat(arr1,arr2){
				var arr3 = arr1.slice(0);
				[].push.apply(arr3,arr2);
				return arr3;
			}
		</script>
	</body>
</html>
